3/9/24 st_stuff.h define additional ammo here and set screen display here. Shotgun already there? // shotgun #define ST_WEAPON1X 122 #define ST_WEAPON1Y 172 but replaced by Rifle so add Strotgun Add weappon code and code pointers to p_pspr.c Add sounds to sounds.c and sounds.h Maybe make music settings unique. p_user.c else if (player->damagecount) player->damagecount--; if (player->f_51 <= 90) player->f_51 += 3; Just death code or falling damage stuff? Think Falling Damage code is elsewhere. Want to disable for Champion Edition. Also want to disable low health slowing the player movement or disabling run. According to Zandronum decorate it's 15 health required to run. g_game.c contains player spawning code p_mobj.c contains code "Called when a player is spawned on the level" AutoAdditional wad file under d_main.c = = IdentifyVersion = = Checks availability of IWAD files by name, = to determine whether registered/commercial features = should be executed (notably loading PWAD's). =============================================== Other interesting potential d_main.c Startup title at top of screen and txt. Sets deathmatch to 1 if -net parameter used. doomdef.h Thing flags, reference to color translations dstrings.h hu_stuff.c player names i_ibm.c Set single player to random number for random color for himself and summoned rebels? Could set Solonet mode but would disable loading a save game except from command line. Add sprites, code pointers, frames, MT_ things to info.c Add sprite names and MT_ thing numbers to info.h Added animated doors to p_doors.c and their sounds p_enemy.c Enemy awareness and frame code pointer functions. p_inter.c code for give weapons/ammo/damage Find func_2DF40 elsewhere, determines what things using TOKN sprite give. "You're dead! You set off the alarm." "You Fool! You've set off the alarm") p_map.c PIT_RadiusAttack code for explosions and what's immune p_mobj.c missile explosion and player missile accuracy? Change or add dialog to p_script.c. Also contains code for scripts giving items. Add animated textures/flats, walkover linedef specials, sector specials to p_spec.c Add switch animations and linedef specials to p_switch.c Platform speed setting in p_plats.c p_user.c near end P_MovePlayer Allow air movement control Functions to give health and armor from inventory plus other things. case 186: pw_1 case 187: pw_2 case 191: pw_3 is scanner case 108: pw_5 if (M_CheckParm ("-altdeath")) deathmatch = 2; else if (M_CheckParm ("-net")) deathmatch = 1; Changed -net to -deathmatch =============================================================================== 3/10/2024 Goals for a Vanillultimate Strife1.exe Status: Was already done. 1. Mouse fire fix and multiplayer duplicated tics removal of Ceski version. Location: Don't know mouse code. Dup tics at i_ibm.c line 1674. Status: Done. 2. Give Guts and Bones a unique DoomeEd/map ID# of probably 237. "Aztec Pillar" and "Guts and Bones" both have 54. Aztec Pillar takes priority so Guts and Bones is unused and can't be placed. Guts and Bones is Thing 238 in Sehacked, MT_237 in dos source, MT_GIBS in Chocolate. In an old sehacked patch I happened to give it 237 because it was the first number free. G&B were 10 and 12 in Doom. The numbers 237, 254, 310, and 312 are all available. Learning towards 237 due to matching its number in source, being first one free, and I gave it that before. Not giving it 238 to match Sehacked number. Dehacked just happened to start counting things at 1 while dos source recreation starts with MT_0. Not about to give things a bunch of map ID#'s that didn't have them in Vanillutimate, but this is obviously an error to be fixed and should not affect demos. Location: info.c line 8121 Status: Need to find the code. 3. Make sure inventory bounds error is fixed. https://doomwiki.org/wiki/Inventory_bounds_checking_error Probably a 32 or 31 just needs 1 subtracted from it. Location: ? Status: Need to find the code. 4. Set F12 to spy again for watching demos and map screenshot to another key. (a key that's not likely to mess up someone with an unorthodox configuration) Perhaps the `/~ key used for the console in many Doom ports. Location: ? Status: Done but need to test. 5. Reenable cooperative multiplayer like oldest demo 1.0 had. In i_ibm.c Line immediately above the duplicated tics, try setting it to false or comment it out. Deathmatch and altdeath should still work fine using the command line parameters. Also in d_main.c find the code if (M_CheckParm ("-altdeath")) deathmatch = 2; else if (M_CheckParm ("-net")) deathmatch = 1; And change -net to -deathmatch. Otherwise -net always sets deathmatch mode and -deathmatch is undefined. No wonder running single player with -deathmatch seemed to start me at player 1 start without keys. And only -altdeath was working. Locations: i_ibm.c line 1673 and d_main.c line 1076 Status: Need to find the code. 6. Maybe Enable talking to NPC's in cooperative multiplayer only and keep it disabled in deathmatch and altdeath. Enabling that in DM would cause some demo desync problems with old versions. Location: ? Status: Working on it. 7. No functional effect. Currently working on labeling stuff in info.c with comments telling their name in Chocolate Strife source and also name in Sehacked when stuff such as MT_LIGHT19 or MT_MISC26 doesn't describe much. Already did this for the list of frame code pointer functions. And working on things. This is just commenting. Am not about to go changing all references of names in the functional code. Location: info c. lines 53-166 and 1717-10982 Status: Have to compile and find new hex locations of data. 8. See if I can get Sehacked working on this. (Auxillary work, not on this source) *Testing:* Launch game in deathmatch multiplayer game in Ceski version or old v1.3 or v1.31 but by choosing cooperative so launcher simply doesn't use a deathmatch parameter and record a demo. It will be a deathmatch game due to coop multi being disabled. Watch that demo in the new exe and see if it's stays in sync in deathmatch mode or ends up being coop and desyncs. Test both regular deathmatch and altdeath in new exe. In the new exe record a cooperative demo. Just for fun use old Ceski/1.3/1.31 exe to try playing it back. See if it actually plays a multiplayer coop demo despite not allowing you to play that way. Test exit switch and teleport new map transition in coop and see how it acts. Make sure that doesn't crash or cause some messed up business like the movie, the Fly. NOTE: Even with all that enabled in multiplayer coop and if exiting a map works alright, you probably won't be able to complete much of the stock game. Whatever record of quests completed or things to trigger will likely be fragmented over the different players, and be lost upon death of whichever player. If coop or being able to talk to NPCs in coop behaves really badly with crashes or players stuck in each other or whatever. Revert those changes and save them for another exe version. Tip: When putting exit switches in custom Strife maps, it's good to put the next map # as its tag. Strife is probably hardcoded to otherwise take you to some certain maps. Map30 likely won't take you to map31 without setting it so, since 31 through 34 are the demo version maps. This only works for exit switches. A walk over exit line ignores a tag and you're at the mercy of Strife's hardcoding. Teleport new map is used for map transitions in single player and in deathmatch it instead causes a tagged exit switch to rise up. Barring any new horrible problem, maybe Doom episode 1 would make a good quick conversion to Strife using dm2conv with my custom default.rsp to test playing through. Just tag those exit switches for the next maps and edit the final map to deal with not having Barons to lower the walls. In the best case scenario, the teleport new map special behaves the same in multiplayer whether coop or DM, and then simply player starts 1-8 are used instead of DM starts and Teleport New Map Spot isn't used. Or it could be programmed that way if it isn't already! Stock Strife maps only contain starts 1-4 though.